# import cv2
# image=cv2.imread('my_blackcat.jpg')
# cv2.imwrite('my_cat.png',image)
#改变图片格式

# import cv2
# image=cv2.imread('my_blackcat.jpg',cv2.IMREAD_GRAYSCALE)
# cv2.imwrite('my_blackcat_gray.jpg',image)
#转为灰度图

# 注：
# imread()函数会删除所有alpha通道的信息（透明度）
# imwrite()函数要求图像为BGR或灰度格式 并且每个通道要用一定的位（bit）
# 输出格式要支持这些通道 ep： bmp格式要求每个通道有8位 而PNG允许每个通道有8位或16位

# 8位灰度图像 是一个含有字节值的二维数组
# 24位的BGR图像是一个含有字节值的三维数组，

# 若一幅图像每个通道为八位  可将其显示转换为标准的一位Python bytearray 格式:
# byteArray=bytearray(image)
# 反之 bytearray含有恰当顺序的字，可通过显示转换和重构，得到numpy.array形式图像
# grayImage=numpy.array(grayByteArray).reshape(height,width)
# bgrImage=numpy.array(bgrByteArray).reshape(height,width,3)

# import cv2
# import numpy
# import os
#
# randomByteArray=bytearray(os.urandom(120000))
# flatNumpyArray=numpy.array(randomByteArray)
#
# grayImgae=flatNumpyArray.reshape(300,400)
# cv2.imwrite('RandomGray.png',grayImgae)
# bgrImage=flatNumpyArray.reshape(100,400,3)
# cv2.imwrite('RandomColor.png',bgrImage)
#将随机字节的灰度图转换为bgr图像

# import cv2
# img=cv2.imread('my_blackcat.jpg')
# img[0,0]=[255,255,255]
#[0,0] 出现白点

# 在opencv中使用循环来处理数组效率非常低
# 往往采用索引的方式

# import cv2
# img=cv2.imread('my_blackcat.jpg')
# img[:,:,1]=0
# 不改变heigh，width 1表示索引BGR图像中的G 也就是green  =0也就是不显示绿色
#从而让整张图片不显示绿色

# import cv2
# img=cv2.imread('my_blackcat.jpg')
# print(img.shape)
# #numpy 返回包括宽度高度和通道数(3456, 4608, 3) 分辨率是 3456*4608 通道数为3
# #也就是BRG
# print(img.size)
# # 返回大小 47775744
# # 也就是长x宽x高x通道数 3456*4608*3=47775744
# print(img.dtype)
# #得到图像数据类型 uint8
# # 通常为无符号整数类型的变量和该类型占的位数，比如uint8

# opencv提供了VideoCapture类和VideoWrite类来支持各种格式视频文件
# 一般都支持AVI格式
# 在到达视频末尾之前VideoCapture类可通过read()函数来获取新的帧
# 每帧是一幅基于BGR格式的图像
# 可将一幅图像传递给VideoCaptre类的write()函数
# 该函数会将这幅图像加到VideoWriter类所指向的文件中
















































































































































































